package cn.getech.data.metadata.service;

import cn.getech.data.metadata.entity.meta.CollectionTableField;
import cn.getech.data.metadata.entity.meta.CollectionTableInfo;

import java.util.List;
import java.util.function.Consumer;
import java.util.function.Function;

public interface CollectionGenerateService {
    void generate(List<CollectionTableInfo> sourceTables, List<CollectionTableInfo> targetTables, Long initRole, Long runUser, Long taskId,
                  Function<String, Long> insertRunLog, Function<CollectionTableInfo,CollectionTableInfo> getRowsAndLength,
                  Consumer<CollectionTableInfo> setTableInfo, Function<CollectionTableInfo,List<CollectionTableField>> getSourceColumns,
                  Function<Integer,List<CollectionTableField>> getTargetTableField, String dbUserName) throws Exception;
}
